package org.csu.mypetstore.persistence;

import org.apache.ibatis.annotations.Mapper;
import org.csu.mypetstore.domain.CartItem;
import org.csu.mypetstore.domain.Cart;
import org.csu.mypetstore.domain.Item;
import java.util.List;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface CartMapper {

    List<CartItem> selectCartByUserId(String userId);
    CartItem selectCartItemByUserAndItem(String userId, String itemId);
    void updateQuantity(CartItem cartItem);
    void insertCartItem(CartItem cartItem);

    void deleteCartItemByUserAndItem(String userId, String itemId);
    Cart getCartByUserId(String userId);
    void saveCart(String userId, Cart cart);

    int updateCartItemQuantity(@Param("userId") String userId,
                               @Param("itemId") String itemId,
                               @Param("quantity") int quantity);

     /* 获取商品信息*/
    Item getItemById(@Param("itemId") String itemId);

    /**添加商品到购物车*/
    int addItemToCart(@Param("userId") String userId,
                      @Param("itemId") String itemId,
                      @Param("quantity") int quantity);
    List<CartItem> getCartItemsByUserId(String userId);

}